At present, different services on a communications network are generally deployed on different hardware. Therefore, on the communications network, many services are generally implemented on different special-purpose hardware, such as a firewall, a load balance device, a switch, a router, and a network management system. Large quantities of complex special-purpose hardware devices cause problems such as strong coupling between software and hardware, high maintenance costs, and inefficient service deployment, and it is more difficult to find deployment space and supply power for the special-purpose hardware. In addition, with diversity and rapid creative development of services, a lifespan of a special-purpose device based on hardware expires rather fast. In this case, operators need to continuously perform “design-integration-deployment”. Consequently, costs are increasing while profits become smaller, which poses a great challenge for operators. In this background, an operator alliance proposes a concept of network functions virtualization (NFV). By means of an IT virtualization technology, network functions of devices such as a router, a switch, a firewall, and a network storage device are implemented by software on a standard IT server, to implement standardization and simplification of a hardware device on the communications network, and reduce costs and implement fast service deployment and innovation. However, in many scenarios, it is hard for the software running on the standard IT server to meet performance and delay requirements of the communications network in many scenarios. Therefore, a hardware acceleration device is required to perform service acceleration.
In addition to an acceleration requirement in an NFV scenario, there are already many existing hardware acceleration devices in the industry, such as a graphics accelerator card, an encryption/decryption accelerator card, an encoding/decoding accelerator card, and another service accelerator chip. This type of hardware acceleration device is connected to a service processing unit by means of a plug-in card, or a special-purpose accelerator chip is connected to a service processing unit by means of PCB routing, and the service processing unit uses an accelerator resource exclusively. Alternatively, an accelerator is connected to a service processing unit by using a network, implementing a manner in which service processing units use an accelerator resource at different times.
As shown in FIG. 1, a method and an information processing system for dynamically managing an accelerator resource are provided in the prior art. After completing system initialization, the system initially designates a set of accelerator resources for service processing units in one-to-one correspondence. For example, the system initially designates an accelerator resource A for a service processing unit A, designates an accelerator resource B for a service processing unit B, and designates an accelerator resource C for a service processing unit C. An allocation manager is responsible for monitoring performance statistical information of services running on all service processing units. When a service processing unit A cannot achieve a working performance objective, the allocation manager analyzes a workload stratus of another service processing unit. After an accelerator resource corresponding to a service processing unit C is redesignated for the service processing unit A that cannot achieve the working performance objective, if a performance degradation value of the service processing unit C is greater than a performance enhancement value of the service processing unit A, or a performance enhancement value of the service processing unit A is greater than a specified threshold, the accelerator resource corresponding to the service processing unit C is allocated to the service processing unit A. In this case, the service processing unit C will lose the accelerator resource.
In the prior art, the system allocation manager collects working statuses of all the service processing units, and dynamically allocates a binding relationship between an accelerator resource and a service processing unit, which improves utilization of accelerator resources to some extent. However, at any time point, an accelerator resource can be used only by one service processing unit, which increases an accelerator resource of one service processing unit, improves working performance of the service processing unit, and degrades working performance of another service processing unit. Therefore, the accelerator resources cannot be utilized properly, resulting in a problem of resource waste.